home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1997 February / EnigmA AMIGA RUN 15 (1997)(G.R. Edizioni)(IT)[!][issue 1997-02][PLANET CD V].iso / progs / editor / frexxed / fpl / gccmode.fpl < prev    next >
Text File  |  1996-04-02  |  3KB  |  85 lines

  1. // $Id: GCCMode.FPL 1.6 1996/04/02 18:31:17 jskov Exp $
  2. // $VER: GCCMode.FPL 1.1 (05.10.95) © Jesper Skov
  3.  
  4. //»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»» changeMakeOptions() ««
  5. export void changeMakeOptions()
  6. {
  7.   SetInfo(-1,"gcc_options", PromptString(ReadInfo("gcc_options"), "Enter new make options"));
  8. }
  9.  
  10. //»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»» gccCompile() ««
  11. export void gccCompile()
  12. {
  13.   int parent;
  14.   int entryID = GetEntryID("_gccCompile_");
  15.   string path = ReadInfo("file_path");
  16.   string me, make;
  17.   
  18.   if(!ReadInfo("filehandler")){
  19.     SetInfo(-2,"filehandler",1);
  20.     Delay(100);                                // wait 2 secs
  21.   }
  22.     
  23.   me = "\""+ReadInfo("disk_name")+":_gccCompile_\"";
  24.  
  25.   if (!strlen(path))
  26.     path = ReadInfo("directory");
  27.  
  28.   if(!entryID){
  29.     entryID = New();
  30.     parent = CurrentBuffer(entryID);
  31.     Rename("_gccCompile_");
  32.     CurrentBuffer(parent);
  33.   }
  34.  
  35.   if(!ReadInfo("active",entryID)){
  36.     Visible(0);
  37.     Activate(entryID,1);
  38.     ResizeView(ReadInfo("view_lines")+ReadInfo("view_lines",entryID)-ReadInfo("gcc_output_height"),parent);
  39.     Visible(1);
  40.   }
  41.  
  42.   if(ReadInfo("gcc_auto_save"))
  43.     Save();
  44.   
  45.   make = "make -C"+path+ReadInfo("gcc_options");
  46.   
  47.   System("echo \"Running "+make+"\" >"+me);
  48.   SaveString("T:gccCompile",make+" >>"+me+" 2>>&1\n");
  49.   System("run bin:sh t:gccCompile");
  50. }
  51.  
  52. //»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»» phxAssPrefs() ««
  53. export void GccModePrefs()
  54. {
  55.   PromptInfo(-1,"GccMode Preferences",-1,-1,
  56.    "gcc_options",
  57.    "gcc_output_height",
  58.    "gcc_auto_save"
  59.   );
  60. }
  61.  
  62. //»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»» key bindings ««
  63. AssignKey("gccCompile();","control c control c", "gcc_mode");
  64. AssignKey("changeMakeOptions();","control C control C", "gcc_mode");
  65.  
  66. //»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»» GCCMode settings ««
  67. ConstructInfo("gcc_options", "","", "GSHW","", 0,0,"");
  68. ConstructInfo("gcc_output_height","","","GIHW","",0,100,14);
  69. ConstructInfo("gcc_auto_save", "","", "GBWH","", 0,0,1);
  70.  
  71. ConstructInfo("gcc_mode", "","", "LBH","", 0,0,0);
  72. ConstructInfo("gcc_mode_ext", "","", "GSHW","", 0,0,"*c*h*");
  73. ConstructInfo("gcc_mode_exe", "","", "GSHW","", 0,0,"CModeInit();");
  74.  
  75. AddMode(1, "gcc_mode", "gcc_mode_ext", "gcc_mode_exe");
  76.  
  77. //»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»» GCCMode menu ««
  78. MenuAdd("i", "GCC", "", "", ReadInfo("Program_Menu"), -1);
  79.  MenuAdd("s", "Compile", "gccCompile();","", ReadInfo("Program_Menu"), -1);
  80.  MenuAdd("s", "---","","",ReadInfo("Program_Menu"), -1);
  81.  MenuAdd("s", "Set Make Options", "changeMakeOptions();","",ReadInfo("Program_Menu"), -1);
  82.  
  83. MenuAdd("s", "GCC...", "GccModePrefs();", "", ReadInfo("menu_program_title"),ReadInfo("menu_program_item"),-1);
  84. MenuBuild();
  85.